package Schiffe;

import Spielfeld.Spielfeld;

public class Schiff
{
	public int x, y;
	public int groesse;
	public boolean horizontal;
	
	public Schiff(int x, int y, int groesse, boolean horizontal)
	{
		this.x = x;
		this.y = y;
		this.groesse = groesse;
		this.horizontal = horizontal;
	}
	
	public void setzeSchiffAufFeld (Spielfeld feld)
	{
		for (int i = 0; i < groesse; i++)
		{
			if (horizontal)
			{
				if (x + i < feld.getFeldGroesse())
					feld.setzeFeldStatus(x + i, y, Spielfeld.STATUS_SCHIFF);
			}
			else
			{
				if (y + i < feld.getFeldGroesse())
					feld.setzeFeldStatus(x, y + i, Spielfeld.STATUS_SCHIFF);
			}
		}
	}
	
	public void verschiebeSchiff (Spielfeld feld, int xNeu, int yNeu)
	{
		//Raeume Platz
		for (int i = 0; i < groesse; i++)
		{
			if (horizontal)
			{
				if (x + i < feld.getFeldGroesse())
					feld.setzeFeldStatus(x + i, y, Spielfeld.STATUS_LEER);
			}
			else
			{
				if (y + i < feld.getFeldGroesse())
					feld.setzeFeldStatus(x, y + i, Spielfeld.STATUS_LEER);
			}
		}
		
		x = xNeu;
		y = yNeu;
		
		setzeSchiffAufFeld (feld);
	}
	

	
	public int getGroesse() { return groesse; }
	public int getX() { return x; }
	public int getY() { return y; }
	public boolean getHorizontal() { return horizontal; }
}
